package cn.com.connected.vo.wechat;

import lombok.Data;

import java.io.Serializable;

/**
 * @Author： HuLanHui
 * @Data： 2018.8.17 19:59
 * @Description：小程序用户信息(包含加密)
 */
@Data
public class SmallFullUserInfoEncrypt implements Serializable {

    /**
     * 用户信息对象，不包含 openid 等敏感信息
     */
    private SmallUserInfo userInfo;
    /**
     * 不包括敏感信息的原始数据字符串，用于计算签名。
     */
    private String rawData;
    /**
     * 使用 sha1( rawData + sessionkey ) 得到字符串，用于校验用户信息，
     * 参考文档
     * @link https://developers.weixin.qq.com/miniprogram/dev/api/signature.html
     */
    private String signature;
    /**
     * 包括敏感数据在内的完整用户信息的加密数据，
     * 详细见加密数据解密算法
     * @link https://developers.weixin.qq.com/miniprogram/dev/api/signature.html#%E5%8A%A0%E5%AF%86%E6%95%B0%E6%8D%AE%E8%A7%A3%E5%AF%86%E7%AE%97%E6%B3%95
     */
    private String encryptedData;
    /**
     * 加密算法的初始向量，详细见加密数据解密算法
     */
    private String iv;
}
